﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace Client.Encriptacion.logica
{
    class Rotar
    {
        //constructor
        Rotar() { }

        //metodo
        public static BitArray rotarBit(BitArray entrada, int [] cajaDeRotacion, int iteracion)
        {
            //BitArray[] rotado = new BitArray[entrada.Length];
            //throw new NotImplementedException();
            BitArray rotado = new BitArray(entrada.Length);
            if (cajaDeRotacion[iteracion] == 1)
            {
                rotado[entrada.Length - 1] = entrada[0];
                for (int i = 1; i < entrada.Length; i++)
                {
                    rotado[i - 1] = entrada[i];
                }
            }
            else 
            {
                rotado[entrada.Length - 1] = entrada[1];
                rotado[entrada.Length - 2] = entrada[0];
                for (int i = 2; i < entrada.Length; i++)
                {
                    rotado[i - 2] = entrada[i];
                }
            }
            //IO.ImprimeBitArray(entrada, 7);
            return rotado;
        }

    }
}
